<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libCZI: libCZI::ISite Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libCZI
   </div>
   <div id="projectbrief">Reading CZI documents made easy</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classlib_c_z_i_1_1_i_site.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classlib_c_z_i_1_1_i_site-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">libCZI::ISite Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="lib_c_z_i___site_8h_source.html">libCZI_Site.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a56c0d12cfa78ecb83fb5bbd0f500ee30"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_site.html#a56c0d12cfa78ecb83fb5bbd0f500ee30">IsEnabled</a> (int logLevel)=0</td></tr>
<tr class="separator:a56c0d12cfa78ecb83fb5bbd0f500ee30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa709ab923626e1a17898b3d6802c2082"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_site.html#aa709ab923626e1a17898b3d6802c2082">Log</a> (int level, const char *szMsg)=0</td></tr>
<tr class="separator:aa709ab923626e1a17898b3d6802c2082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cbf7eccd867378b4943519284b98ef1"><td class="memItemLeft" align="right" valign="top">virtual std::shared_ptr&lt; <a class="el" href="classlib_c_z_i_1_1_i_decoder.html">IDecoder</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_site.html#a2cbf7eccd867378b4943519284b98ef1">GetDecoder</a> (<a class="el" href="namespacelib_c_z_i.html#a68cd7521fd89880f820ea55baf6f6179">ImageDecoderType</a> type, const char *arguments)=0</td></tr>
<tr class="separator:a2cbf7eccd867378b4943519284b98ef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1b59f522c0dfdce2474036e4ac6cc23"><td class="memItemLeft" align="right" valign="top">virtual std::shared_ptr&lt; <a class="el" href="classlib_c_z_i_1_1_i_bitmap_data.html">libCZI::IBitmapData</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_site.html#ab1b59f522c0dfdce2474036e4ac6cc23">CreateBitmap</a> (<a class="el" href="namespacelib_c_z_i.html#abf8ce12ab88b06c8b3b47efbb5e2e834">libCZI::PixelType</a> pixeltype, std::uint32_t width, std::uint32_t height, std::uint32_t stride=0, std::uint32_t extraRows=0, std::uint32_t extraColumns=0)=0</td></tr>
<tr class="separator:ab1b59f522c0dfdce2474036e4ac6cc23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af879b88237db67ebf48f9c48fc15f57f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_site.html#af879b88237db67ebf48f9c48fc15f57f">Log</a> (int level, const std::string &amp;str)</td></tr>
<tr class="separator:af879b88237db67ebf48f9c48fc15f57f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3485af37a7034750ee9d90efa9fcf2c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlib_c_z_i_1_1_i_site.html#a3485af37a7034750ee9d90efa9fcf2c7">Log</a> (int level, std::stringstream &amp;ss)</td></tr>
<tr class="separator:a3485af37a7034750ee9d90efa9fcf2c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Interface for the Site-object. It is intented for customizing the library (by injecting a custom implementation of this interface). </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ab1b59f522c0dfdce2474036e4ac6cc23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1b59f522c0dfdce2474036e4ac6cc23">&#9670;&nbsp;</a></span>CreateBitmap()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::shared_ptr&lt;<a class="el" href="classlib_c_z_i_1_1_i_bitmap_data.html">libCZI::IBitmapData</a>&gt; libCZI::ISite::CreateBitmap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacelib_c_z_i.html#abf8ce12ab88b06c8b3b47efbb5e2e834">libCZI::PixelType</a>&#160;</td>
          <td class="paramname"><em>pixeltype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::uint32_t&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::uint32_t&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::uint32_t&#160;</td>
          <td class="paramname"><em>stride</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::uint32_t&#160;</td>
          <td class="paramname"><em>extraRows</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::uint32_t&#160;</td>
          <td class="paramname"><em>extraColumns</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Creates a bitmap object. All internal bitmap allocations are done with this method, and overloading this method allows to use a externally controlled memory management to be injected.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pixeltype</td><td>The pixeltype of the newly allocated bitmap. </td></tr>
    <tr><td class="paramname">width</td><td>The width of the newly allocated bitmap. </td></tr>
    <tr><td class="paramname">height</td><td>The height of the newly allocated bitmap. </td></tr>
    <tr><td class="paramname">stride</td><td>The stride of the newly allocated bitmap. If &lt;= 0, then the method may choose an appropriate stride on its own. If a stride &gt;0 is given here, then we expect that the newly created bitmap adheres to it. </td></tr>
    <tr><td class="paramname">extraRows</td><td>The extra rows (not currently used, will always be 0). </td></tr>
    <tr><td class="paramname">extraColumns</td><td>The extra columns (not currently used, will always be 0).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The newly allocated bitmap. </dd></dl>

</div>
</div>
<a id="a2cbf7eccd867378b4943519284b98ef1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cbf7eccd867378b4943519284b98ef1">&#9670;&nbsp;</a></span>GetDecoder()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::shared_ptr&lt;<a class="el" href="classlib_c_z_i_1_1_i_decoder.html">IDecoder</a>&gt; libCZI::ISite::GetDecoder </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacelib_c_z_i.html#a68cd7521fd89880f820ea55baf6f6179">ImageDecoderType</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>arguments</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets a decoder object.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>The type. </td></tr>
    <tr><td class="paramname">arguments</td><td>The arguments.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The decoder object. </dd></dl>

</div>
</div>
<a id="a56c0d12cfa78ecb83fb5bbd0f500ee30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56c0d12cfa78ecb83fb5bbd0f500ee30">&#9670;&nbsp;</a></span>IsEnabled()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool libCZI::ISite::IsEnabled </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>logLevel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Query if the specified logging level is enabled. In the case that constructing the message to be logged takes a significant amount of resources (i. e. time or memory), this method should be called before in order to determine whether the output is required at all. This also means that this method may be called very frequently, so implementors should take care that it executes reasonably fast.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">logLevel</td><td>The logging level.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the specified logging level is enabled, false otherwise. </dd></dl>

</div>
</div>
<a id="aa709ab923626e1a17898b3d6802c2082"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa709ab923626e1a17898b3d6802c2082">&#9670;&nbsp;</a></span>Log() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void libCZI::ISite::Log </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>szMsg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Output the specified string at the specified logging level. </p><dl class="section remark"><dt>Remarks</dt><dd>The text is assumed to be ASCII - not UTF8 or any other codepage. Use only plain-ASCII. This might change... </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">level</td><td>The logging level. </td></tr>
    <tr><td class="paramname">szMsg</td><td>The message to be logged. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="af879b88237db67ebf48f9c48fc15f57f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af879b88237db67ebf48f9c48fc15f57f">&#9670;&nbsp;</a></span>Log() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void libCZI::ISite::Log </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>str</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Output the specified string at the specified logging level. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">level</td><td>The level. </td></tr>
    <tr><td class="paramname">str</td><td>The string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a3485af37a7034750ee9d90efa9fcf2c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3485af37a7034750ee9d90efa9fcf2c7">&#9670;&nbsp;</a></span>Log() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void libCZI::ISite::Log </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::stringstream &amp;&#160;</td>
          <td class="paramname"><em>ss</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Output the specified stringstream object at the specified logging level. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir"></td><td class="paramname">level</td><td>The level. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ss</td><td>The stringstream object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>libCZI/<a class="el" href="lib_c_z_i___site_8h_source.html">libCZI_Site.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacelib_c_z_i.html">libCZI</a></li><li class="navelem"><a class="el" href="classlib_c_z_i_1_1_i_site.html">ISite</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  </ul>
</div>
</body>
</html>
